#include "LED_STD_Config.h"
/**
    ******************************************************************************
    * 函数名称：LED_STD_Config
    * 功能描述：初始化两个LED控制引脚（PB5和PE5）
    * 输入参数：无
    * 返回值  ：无
    * 详细说明：
    * 1. 配置PB5和PE5为50MHz推挽输出模式
    * 2. 初始状态：
    *    - PB5输出高电平（LED1熄灭）
    *    - PE5输出低电平（LED2点亮）
    * 3. 硬件要求：
    *    - LED阳极接3.3V，阴极接GPIO（共阳接法）
    *    - 需串联适当限流电阻（通常220Ω-1kΩ）
    * 调用示例：
    *   LED_STD_Config(); // 初始化后可通过GPIO_SetBits/ResetBits控制LED
    ******************************************************************************
**/
void LED_STD_Config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;

    /* 开启GPIOB和GPIOE时钟（APB2总线） */
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOE, ENABLE);

    /* 配置PB5为50MHz推挽输出 */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;        // 选择引脚5
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  // 推挽输出模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 最高速度
    GPIO_Init(GPIOB, &GPIO_InitStructure);            // 应用配置

    /* 配置PE5为50MHz推挽输出（复用相同结构体） */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
    GPIO_Init(GPIOE, &GPIO_InitStructure);

    /* 设置初始状态 */
    GPIO_SetBits(GPIOB, GPIO_Pin_5);   // PB5高电平，LED1灭
    GPIO_SetBits(GPIOE, GPIO_Pin_5);   // PE5低高平，LED2灭
}
